#include<stdio.h>
#include<string.h>
#include<stdlib.h>


int main(int argc,char *argv[])
{
    //手写一个touch命令，可以用“./mytouch test.txt”测试,Makefile中的mytouch用于测试这段代码
    //if(argc != 2)
    //{
    //   printf("touch: missing file operand\n");
    //   return 1;
    //}

    //FILE* fp = fopen(argv[1],"w");
    //if(fp != NULL)
    //   fclose(fp);


    //使用命令行参数写一个简易计数器，测试这段代码可以把mytouch换成myproc，当然名字不重要
    //if(argc != 4)//比如输入./myproc -add 10 20，则这一串指令是有空格隔开的四个字符串
    //{
    //   printf("Error!\nUsage: %s op[-add|sub|mul|div] d1 d2\n",argv[0]);//argv[0]一定会存在，因为输入的指令就是这个元素
    //   return 1;
    //}
    //int x = atoi(argv[2]);//因为argv数组中的元素都是字符串
    //int y = atoi(argv[3]);    

    //int result = 0;
    ////上面的if就可以保证程序一定有4个命令行参数，第一个就是程序名
    //if(strcmp(argv[1],"-add") == 0)
    //{
    //   result = x + y;
    //   printf("%d + %d = %d\n",x,y,result);
    //}
    //else if(strcmp(argv[1],"-sub") == 0)
    //{
    //   result = x - y;
    //   printf("%d - %d = %d\n",x,y,result);

    //}
    //else if(strcmp(argv[1],"-mul") == 0)
    //{
    //   result = x * y;
    //   printf("%d * %d = %d\n",x,y,result);

    //}
    //else if(strcmp(argv[1],"-div") == 0)
    //{
    //   if(0 == y)
    //      printf("%d / %d = ERROR!\n",x,y);
    //   else
    //   {
    //      result = x / y;
    //       printf("%d / %d = %d\n",x,y,result);
    //   }
    //}
    //else
    //{
    //   printf("Error!\nUsage: %s op[-add|sub|mul|div] d1 d2\n",argv[0]);
    //}



    //int i = 0;
    //for(;i < argc;i++)
    //{
    //    printf("%d: %s\n",i,argv[i]);
    //}
    //printf("hello world!\n");


    //通过获取环境变量USER的内容来判断该用户是否非法
    char* who = getenv("USER");

    if(strcmp(who,"root") != 0)
    {
       printf("%s 是一个非法用户\n",who);
       return 1;
    }
    printf("PATH: %s\n",getenv("PATH"));//这个函数可以获取环境变量的内容

    return 0;
}
